//! Use fixed size buffers for implemtations (Default: 1)
#define GLF_NO_ALLOC_IMPL      1

//! compiles glf as a lib (no main)
//! application must call glf::init() before calling any glf function
#define GLF_COMPILE_AS_LIB 0

//! GLF Debugger
//! Enable the debugger (Default: Disabled, except on Win32 in debug, enabled anyways)
#define GLF_ENABLE_DEBUGGER 0

//! GLF Debugger: force disable debugger (for Win32 debug platform which otherwise enables it in anyways)
#define GLF_FORCE_DISABLE_DEBUGGER 0

//! Enable compilation with ios uniqueIdentifier (Default: Disabled)
#define GLF_COMPILE_WITH_IOS_UDID 0

//! Enable plcrashreporter. used with GLF_USE_LAUNCHREPORTER, allows to send the crashlog
#define GLF_USE_CRASHREPORTER 0

//! Enable launchreporter
//! allows the tracking of an application's health
#define GLF_USE_LAUNCHREPORTER 0

//! allows the tracking of unsafe data (ssid, device name, etc)
#define GLF_LAUNCHREPORTER_SEND_UNSAFE_INFOS 0

#define GLF_USE_FILESTREAM_CALLBACK 0

//! Set debug console filesize
#define GLF_DEBUG_CONSOLE_FILELOG_SIZE	(16 * 1024)

//! Make sure the default atomic does not use mutex, this will increase 
//! performance, but make the use of atomic type on platform that does not have 
//! built-in atomic unsafe.
//#define GLF_DISABLE_DEFAULT_ATOMIC_WITH_MUTEX 1

//! Enable the depth/stencil buffers
//! (Default: Enabled)
//! Note : currently only affects the iDevices
#define GLF_USE_DEPTH_BUFFER                        1
#define GLF_HAS_STENCIL_BUFFER                      1

//! Define TCP port communication with remote controller (Default: 7777)
//! Note: The default value is defined in glf/config.h, change the value
//!       here if you want to override it. Be aware to rebuild the remote
//!       controller in order to communicate on the same port. 
//#define GLF_REMOTE_CONTROLLER_PORT                XXXXX

//! Virtual Filestream is an additional layer above filestream which allow
//! to open an unlimited number of filestream concurrently.
#define GLF_VIRTUAL_FILESTREAM 0

//! Maximum number of concurrent opened files
//! 255 is the maximum # of opened files on iOS, 
//! 31 files has been reserved in case some files are opened without glf.
#define GLF_MAX_FILESTREAM 224

//! Maximum size for a task
//! If you have custom task, you may need to increase this number. If the
//! number is too low, an assert will trigger at runtime.
#define GLF_TASK_ALLOCATOR_SIZE 128

//!-----------------------------------------------------------------------------
//! Platform specific defines
//!-----------------------------------------------------------------------------

//! Win32
#if defined(WIN32)
//	Enable external displays emulation on Windows (Default: Disabled)
#	define GLF_WINDOWS_EMULATE_EXTERNAL_DISPLAYS	0
//	Enable WiiMote (Default: 0)
#	define GLF_WINDOWS_USE_WIIMOTE					0
#endif

//! CTR (3DS)
#if defined(NN_PLATFORM_CTR)
//  Set the default heap size
//  (Default: 16Mb) 
#   define GLF_CTR_HEAP_SIZE 16 * 1024 * 1024

//  Define the size of the CTR "SaveData" region 
#   define GLF_CTR_HOME_DIR_MAX_FILES  16
#   define GLF_CTR_HOME_DIR_MAX_DIRECTORIES 16

//  CTR Wireless config (debug only)
#   define GLF_CTR_DEBUG_WIRELESS_SSID "Default"
#   define GLF_CTR_DEBUG_WIRELESS_SSID_LEN 7
//  OPEN, WEP_40BIT, WEP_104BIT, WEP_128BIT, WPA_TKIP, WPA2_TKIP, WPA_AES, WPA2_AES
#   define GLF_CTR_DEBUG_WIRELESS_ENC nn::ac::OPEN
#   define GLF_CTR_DEBUG_WIRELESS_KEY ""
#   define GLF_CTR_DEBUG_WIRELESS_KEY_LEN 0
#endif

//! PSP2 (Vita/NGP)
#if defined(SN_TARGET_PSP2)
//  Enable/disable DevKit profiling/debugging features
//  (Default: Disabled)
#   define GLF_PSP2_ENABLE_RAZOR_HUD                0
#   define GLF_PSP2_ENABLE_PERF                     0
#   define GLF_PSP2_ENABLE_GPU_CAPTURE              0
#	define GLF_PSP2_ENABLE_PERF_BUFFER_SIZE			(1024*1024)

//  Enable/disable the fallback from VRAM to RAM when VRAM is full
//  (Default: Enabled)
#   define GLF_PSP2_VRAM_FALLBACK_TO_RAM_WHEN_FULL  1

//  Change the default VRAM block size
//  (Default: 92Mb)
#   define GLF_PSP2_DEFAULT_VRAM_BLOCK_SIZE			92 * 1024 * 1024

// Set the default heap value
#	define GLF_PSP2_HEAP_SIZE                       192*1024*1024
#	define GLF_PSP2_AUTO_EXTEND_HEAP                0
#endif
